home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / lists / gem / l_1199 / 823 < prev    next >
Internet Message Format  |  1994-08-27  |  11KB

  1. Date: Sun, 17 Jul 1994 13:08:34 -0400 (EDT)
  2. Date: Wed, 13 Jul 94 00:45 EST
  3. Subject: Gem List (fwd)
  4. Subject: Gem List
  5. Subject:  Re: Gem List (fwd)
  6. Subject:  Digest
  7. Subject:  Re: Gem List (fwd)
  8. Date: Sun, 17 Jul 1994 13:08:34 -0400 (EDT)
  9. Mime-Version: 1.0
  10. Precedence: bulk
  11.  
  12. Forwarded message:
  13. >From 0006795560@mcimail.com Wed Jul 13 04:50:13 1994
  14. Date: Wed, 13 Jul 94 00:45 EST
  15. From: "Daniel J. Hollis" <0006795560@mcimail.com>
  16. To: ems <gem-list-approval@world.std.com>
  17. Subject: Gem List
  18. Message-Id: <10940713054501/0006795560PK3EM@mcimail.com>
  19.  
  20. TO: gem-list@world.std.com
  21. Subject:  Re: Gem List (fwd)
  22.  
  23. Chris:
  24. ------ 
  25. > From the sound of the following flame-bait, you have no idea how object-
  26. > oriented programming works.
  27.  
  28. An attempt at dodging the question, eh? Hmm, typical.
  29.  
  30. I have worked with obj
  31. ect-oriented programming on the Atari, and I can say
  32. it's not hard.  Also, I am writing a GUI library in which I am *DESIGNING*
  33. my own object oriented design.  So don't tell me that I have no idea that I
  34. don't know how to do OOP, because I can tell you th
  35. at I do.
  36.  
  37. > Nothing is a pain with GEM++...  ;-)
  38.  
  39. Okay, you tell me a *single* command that lets you do sliders without having
  40. to handle it yourself.
  41.  
  42. > OOP is mainly customizing objects for your own use, once the library is
  43. > finished, that is.
  44.  
  45. Customi
  46. zing objects for your own use... spending time piecing a library
  47. together to do simple things, rather than having a library pre-written
  48. which 'does it all for you'?
  49.  
  50. Sounds like some of us enjoy re-inventing the wheel.
  51.  
  52. > Warwick built GEM++ from scratch,
  53.  so he did all the hard work.  Now if _I_
  54. > use GEM++ for a dialog-in-a-window or something, it takes about 5 lines of
  55. > code.
  56.  
  57. Ooh, so I guess it's the *best* library out there from the way you speak?
  58. In WinLIB PRO, dialog-in-a-window takes all of 3 line
  59. s of code. But from the
  60. way you're talking, I guess 5 lines of Gem++ code to support
  61. dialog-in-a-window must mean it's better or something?
  62.  
  63. The three lines of code required in WinLIB PRO are:
  64.  
  65. int TitleDispatcher(WINDOW *win, int msg_buf[8])
  66. {
  67.     return FA
  68. LSE;
  69. }
  70.  
  71. WCreateWindow(W_DIAL, 0, NAME|CLOSER|MOVER, "Title dial", NULL,
  72.               -1, EDIT1, -1, TitleDispatcher, 0, -1, -1, -1, -1, editdial,
  73.                D_SWITCHABLE);
  74. WDoDial(NULL);
  75.  
  76. There. That was really difficult wasn't it? Now with the new w
  77. indow installed,
  78. it WinLIB PRO handles the dialog, lets you move it, BACKGROUND click buttons
  79. with the LEFT mouse button (and not some LAME left-right button simultaneous
  80. click, I might add) and close it. WinLIB PRO handles everything for you when
  81. you ret
  82. urn a FALSE in the window dispatcher code.
  83.  
  84. > I don't have to do anything special to
  85. > the dialog in the RSC editor, and the code I _do_ write for my dialog
  86. > is exactly what I'd have to write for a normal dialog... something to
  87. > figure out what switches
  88.  were set, what exit button was pushed, etc.
  89.  
  90. Gheez, like that's hard to code or something? So how do you set an
  91. 'active slider' in Gem++ without using special code (since you said you
  92. don't write any special support code for it) and without doing anythin
  93. g
  94. special to the RSC with a RSC editor (ooh mommy, changing the extended
  95. object type is soooo hard!)
  96.  
  97. > That's a "feature" of not having an up-to-date RSC editor that can build
  98. > RSC objects for the new AES.  If they'd built one of those, adding the
  99. > hie
  100. rarchical menus in a saner way would've been easy.
  101.  
  102. Yes, but now that there are editors available to do this, then it should not
  103. be too hard to do this... let's see... any number of PD resource editors have
  104. been able to change extended object types for YE
  105. ARS now. Of course, it seems
  106. that some people are living in the past, using obsolete tools (maybe you? :-)
  107.  
  108. > And possibly a complete re-build of your entire application so you can
  109. > use the new extended-GEM library headers and link it with the new librar
  110. y.
  111.  
  112. Not so. To change a WinLIB PRO object from a normal slider to an active
  113. slider requires *no* code changes, just a dip into the RSC file to change
  114. the extended object type. You can design entire heirarchical menus in the RSC
  115. editor without having to to
  116. uch a line of code. Can the same be said of Gem++?
  117.  
  118. >From the consistent evasions of my questions, it's obvious you know nothing
  119. about extended object types. (And yes, I fully expect you will dodge this
  120. statement with yet more doublespeak).
  121.  
  122. > I guess you'
  123. ve never compared the GUI code for an *application* using GEM++
  124. > to that built with a "normal" library...
  125.  
  126. That's true. Because there *ARE* no applications written using Gem++.
  127.  
  128. > 1) They're afraid of GNU C/C++, since it's not a commercial product.
  129.  
  130. Wron
  131. g. I have no problems with using PD compilers. The reason I stay away
  132. from Gnu C/C++ is that I don't have the resources to waste (i.e. tons of RAM,
  133. and tons of diskspace). And the fact that Gnu C++ spits out binaries roughly
  134. 5 to 20 times bigger than the 
  135. *same code* in Pure C.
  136.  
  137. > 2) There's no commercial C++ implementation for the Atari.
  138.  
  139. So?  The Atari's dead, anyway.
  140.  
  141. > 5) Their ST is too damn slow for C++ development.
  142.  
  143. I think you answered your own question there. Not everyone has a TT. Or
  144. even a Falco
  145. n030. Reason #5 is why everyone is using C!
  146.  
  147. > 6) Their ST doesn't have enough RAM for C++ development (it gets _really_
  148. >    tight in 4M of RAM).
  149.  
  150. That's exactly the main reason why I shy away from using any type of C++ on
  151. the Atari ST, because of the EN
  152. ORMOUS resource requirements.
  153.  
  154. A Boeing 747 (Gnu C++) may be able to carry the most passengers at once,
  155. but it's not necessarily the best choice for all pilots. Some of us are
  156. perfectly happy with our small, speedy, agile F-15's (Pure C). :-)
  157.  
  158. > 7) Their 
  159. ST doesn't have a hard drive (!), which is pretty necessary
  160. >    for GNU C/C++, since the compiler is over a meg in size.
  161.  
  162. Tell me ONE person who isn't a programmer and is sane enough NOT to use a
  163. hard drive. Despite the fact that development is quite pos
  164. sible with
  165. PureC and floppies, and quite impossible with GnuC++ and floppies. :-)
  166.  
  167. --Ken Hollis (Bitgate Softwate)
  168. -----
  169. Subject:  Digest
  170.  
  171. > Your code only works if the event loop includes a timer event of very small
  172. > duration. In which case it slows it
  173.  down by having this code running regularly.
  174. > Fine in a single-tasking system, but it will slow down background tasks.
  175.  
  176. No, it works even if the event loop is very large, too. It's just much
  177. slower :-)
  178.  
  179. Background tasks are *meant* to be less responsive 
  180. than the foreground
  181. task. Otherwise there would be no distinction between the two. :-)
  182.  
  183. > Why would you want to make a new broadcast message? And I can't think of any
  184. > reason for a new wind_set/get mode.
  185.  
  186. Who said anything about a new broadcast message? 
  187.  IF you wanted to create your
  188. own broadcast message, you should register it so other programmers knew how
  189. to use them.
  190.  
  191. > it really does replace the aes. It doesn't, however replace the kernel.
  192.  
  193. Wrong.  It doesn't replace the AES.  Geneva, like Let 'em Fl
  194. y, hooks AES
  195. calls on to the already made AES calls, and intercepts existing routines.
  196. That's why Geneva behaves like it does, and has the limitations it does.
  197.  
  198. Of course, had you actually bothered to CHECK this before spewing that
  199. statement out, you coul
  200. d have saved yourself the humiliation of being WRONG.
  201.  
  202. Better yet, break out a debugger and check things out for yourself. You DO
  203. know how to use an assembler-level debugger do you not?
  204.  
  205. > Since it is cooperative multitasking how can you say it gives one 
  206. application
  207. > 25% or 50% of the CPU time anyway?
  208.  
  209. >From experience, and extensive testing. Two things which you seem to have
  210. little of.
  211. -----
  212. Subject:  Re: Gem List (fwd)
  213.  
  214. Warwick:
  215. --------
  216. >>>If you use a 1-pixel rectangle, then EVERY mouse movement goes
  217.  back to 
  218. >>>your program, and your program has to do an objc_find, EVERY TIME.
  219. >>We're not using "1 pixel rectangles" like you seem to enjoy saying alot :-)
  220. >>You can get the current mouse pointer coordinates by any method you like --
  221. >>as you will see i
  222. n the example code, that part was specifically left "open".
  223. >1-pixel rectangles is the most efficient method.  Of course, your code
  224. >would probably have a 0ms timer event!  Horror of horrors!  [do you use
  225. >MTOS?]
  226.  
  227. I've use